package com.huitone.gddw.smsclient;

/*import java.io.IOException;
import java.util.Collections;
import java.util.Date;

import com.bin.common.utils.DateTimeUtils;
import com.bin.common.utils.StringUtils;
import com.huitone.gddw.smsclient.ClientMessageHandler;
import com.huitone.gddw.smsclient.ClientServerMessageHandler;
import com.huitone.gddw.smsclient.Config;
import com.huitone.smspfm.socket.client.SocketClient;
import com.huitone.smspfm.socket.core.ClientServerUserChecker;
import com.huitone.smspfm.socket.protocol.sgip.constant.Constant;
import com.huitone.smspfm.socket.protocol.sgip.message.msgbody.Submit;
import com.huitone.smspfm.socket.protocol.sgip.message.msghead.Head;
import com.huitone.smspfm.socket.server.SocketServer;
import com.huitone.smspfm.socket.utils.SerialUtils;

public class SendSmsClient {

	public static boolean send(String number,String smsContent) throws IOException {
		
		if (Config.SERVER_IP==null) {
			Config.init();			
		}

		*//**
		 * 启动服务(此时为短信服务端) 用于接收短信报告, 上行短信 注意:
		 * 构造下发短信时传入reportFlag标记决定是否接收短信报告信息,reportFlag 有三个可选项: 0
		 * 该条消息只有最后出错时要返回状态报告; 1 该条消息无论最后是否成功都要返回状态报告; 2-该条消息不需要返回状态报告
		 *//*
		if (Config.IS_CREATE_SERVER) {
			SocketServer.getInstance().setMessageHandler(new ClientServerMessageHandler()) // 这个类的两个方法将用于接收短信报告信息及上行短信
					.setUserChecker(new ClientServerUserChecker(Config.CLIENT_USER_NAME, Config.CLIENT_PASSWORD)) // (新增)短信平台连接客户端的用户名密码(由短信平台分配)
					.setPort(Config.CLIENT_PORT) // 客户端作为服务端接收下行短信报告及上行短信时的端口号
					.setMaxActive(30) // 最大活动连接
					.setSoTimeOut(30000) // 连接空闲释放时间
					.start();
		}

		// 业务端是客户端↓

		// 需要为客户端设置配置参数

		// String pawd = new String(Base64.decodeBase64("MjI="));

		Date startDate = new Date();

		SocketClient.getInstance().setMessageHandler(new ClientMessageHandler()).setServerIp(Config.SERVER_IP) // 短信平台的IP地址
																												// (短信平台接口地址)
				.setServerPort(Config.SERVER_PORT) // 短信平台的端口号
				.setLoginName(Config.LOGIN_NAME) // 用户名 (短信平台分配)
				.setLoginPassword(Config.LOGIN_PASSWORD) // 密码 (短信平台分配)
				.setSrvNode(Config.SVR_NODE) // 业务端编码 (短信平台分配)
				.setCoderule(Config.SERVICE_ID); // 业务端编号规则(短信平台分配)

		// 构造下发短信消息体
		Submit submit = Submit.build(Collections.singletonList(number), // 用户号码,最多一百个
				Config.SVR_NODE, // 业务端编码 (短信平台分配)
				Config.SERVICE_CODE, // 业务类型编码 (短信平台分配)
				Config.SEND_PORT, // 发送端口号 (短信平台分配)
				Config.REPORT_FLAG, // 有三个可选项: 0 该条消息只有最后出错时要返回状态报告; 1
									// 该条消息无论最后是否成功都要返回状态报告; 2-该条消息不需要返回状态报告
				Constant.MessageCodingE.GBK.getValue(), // 默认
				Constant.MessageTypeE.SMS.getValue(), // 默认
				smsContent); // 短信内容
		// sb.toString()); // 短信内容
		// ActiveTest activeTest = new ActiveTest();
		// 构造下发短信消息头
		Head head = Head.build(submit.length(), // 短信消息体长度
				Config.SERVICE_ID, // 业务端编号规则 (短信平台分配)
				StringUtils.tolong(DateTimeUtils.dateToStr(new Date(), "MMddHHmmss")), // 时间
				SerialUtils.getSerial()); // 序号从零到Integer.MAX_VALUE循环使用

		// 发送短信
		boolean sendFlag = SocketClient.getInstance().sendMsg(head, submit);

		long handlerTime = (new Date().getTime() - startDate.getTime());
		if (sendFlag) {
			System.out.println("短信发送成功,用时:"+ handlerTime + " ms");
		}else {
			System.out.println("短信发送失败..");
		}
//		SocketClient.getInstance().shutdown();
		return sendFlag;
	}
}
*/